home *** CD-ROM | disk | FTP | other *** search
Text File | 1988-08-15 | 76.3 KB | 1,711 lines |
- *****************************************************************************
- This document is intended to supplement the MS-DOS KERMIT Users Guide.
- It is the documentation for the extended DEC Rainbow version of MS-KERMIT.
- *****************************************************************************
-
- By David L. Knoell, Basic American Food Company
- Vacaville, CA 95696 (707-446-2200)
-
- 1.11. DEC Rainbow Command Extensions and Enhancements
-
- SET TERMINAL
-
- Syntax: SET TERMINAL parameter [value]
-
- This command was not implemented on V 2.29 of the DEC Rainbow MS-KERMIT, so
- there should be no conflict with previous versions. The DEC Rainbow has most of
- the SET TERMINAL parameters implemented via SET-UP mode and therefore available
- to the software through non-volatile memory. Parameters set through the
- standard DEC Rainbow SET-UP are honored in Kermit; and therefore, those
- functions are not duplicated in the SET TERMINAL command.
-
- The first group of parameters sets the terminal type to be emulated. This only
- determines the "answer-back" generated in response to a "who/what are you?"
- command from the host. The following sequences are recognized:
-
- Parameter Response Sequence Special Status
- --------- ----------------- --------------
- NONE <ESC>[?6c VT102-d
- HEATH-19 <ESC>/Z VT52-h
- VT100 <ESC>[?4;2c VT100
- VT102 <ESC>[?6c VT102
- VT125 <ESC>[?12;7;1c VT125
- VT220 <ESC>[?62;1;2;8c VT220
- VT52 <ESC>/Z VT52
-
- **note- The terminal emulation software depends on the built-in firmware
- VT102/VT52 emulation to perform much but not all of the work. The
- above settings do not influence how transmitted/received sequences are
- parsed or responded to. The setting of the ANSI/VT52 firmware switch
- (via SET-UP or host software) is the controlling factor. These
- parameters have been provided primarily so that host software (VAX/VMS
- for example) will receive the response it needs. The tables in the
- modules MSXRB1x and MSYRB1x can be expanded to provide additional
- selections.
-
- The remaining SET TERMINAL parameters specify various operating modes within
- which you run the basic VT1XX/VT2XX emulator.
-
- AUTO-XON {ON, OFF}
- Sends a X-ON to the host when re-CONNECTing after once having escaped
- back to the "Kermit-MS>" prompt. This function is useful, since the
- serial buffers are cleared and reset during an escape back to kermit
- prompt level. Default is OFF. Tested and used with VAX/VMS system
- software.
-
- EIGHTBIT-MODE {ON, OFF}
- Enables transmission/receipt of true 8-bit characters while in terminal
- emulation mode. This is essential when supporting devices such as the
- DEC's LN03 laser printer using the DEC multi-national character set.
- The host system software should be made compatible with this function,
- for example: under VAX/VMS the command "$ SET TERMINAL/EIGHTBIT",
- should be used or else the terminal driver in VMS will strip/clear the
- eighth bit. There is no effect during file transfers since Kermit-MS
- knows when it's in transfer or terminal mode. Default is OFF.
-
-
- FUNCTION-KEYS {VT102, VT220}
- Set to VT102 (Default) the Rainbow's F11,F12,F13 keys transmit a (ESC),
- (BS),(LF) respectively. When set to VT220 they transmit and respond as
- VT220 level 2 (true VT220) keys and transmit the function key sequence
- normal for keys on the top row (ie. <ESC>[Pn~ where Pn is 23 for F11,24
- for F12, and 25 for F13). The fact that both key definitions can
- co-exist even though the firmware does not support it, is accomplished
- with software within the emulator. This software is also used by the
- SET KEY function so that those three keys can actually have six
- different definitions. See Appendix B for the scan codes to use.
-
- LINE-MONITOR {ON, OFF}
- Sets the printer port to loop-back to the serial port when set ON. This
- function is very similar to a set-up function found in a VT240 called
- "Printer-to-Host". When set ON the interrupt service routines in the
- emulator handle the printer port interrupts as well as those from the
- serial port. In previous versions the interrupts from the printer port
- were passed back to MS-DOS for processing by the original interrupt
- service routines and still are, if this function is OFF (Default).
- There are no restrictions on using this setting even when doing a screen
- dump to printer or auto-print (print characters as they are received).
- When used in conjunction with the ANSI "printer-controller on" and
- MONITOR-MODE the Rainbow Kermit emulator becomes completly passive. In
- other words, data from the serial port is routed unparsed and untouched
- to the printer port while data received from the printer port (actually
- another serial port) is routed to the COMM serial port. When
- MONITOR-MODE is ON the traffic is displayed on the Rainbow's screen for
- review. The device on the printer port does not have to be a printer,
- in fact it could be another computer. The emulator currently supports
- X-ON/X-OFF from the printer port device only and the baud rate / parity
- settings are supported via SET-UP or SETPORT. The emulater has a 1K
- buffer for input but does not support X-ON/X-OFF flow control to the
- printer port. (note-MONITOR-MODE is a new Kermit Special function.)
-
- MONITOR-STYLE {PRINTABLE, VIDEO}
- Determines how control characters will be displayed when the emulator is
- placed in MONITOR-MODE. The default is VIDEO which displays carriage
- return, line feed, horz tab, vert tab, new line, and form feed as single
- characters from the VT100 special line drawing character set. The
- PRINTABLE parameter uses standard 2 or 3 character sequences enclosed in
- angle brackets "<>" (eg. <CR>,<FF> etc.).
-
- SAVE-SCREEN {ON, OFF}
- Determines the action taken when the screen is re-sized from 80 to 132
- characters or 132 to 80 characters. If set ON, then the text currently
- visible on the screen is restored after the re-sizing. If OFF, then the
- DEC standard of clearing the screen and homing the cursor is done. The
- Default is OFF. This function does not operate when the screen size is
- changed via the firmware-driven SET-UP screen. It operates only during
- a software "SET/RESET SEQUENCE (<ESC>[?3h or <ESC>[?3l)" or via a
- special-function assigned to a key.
-
- SPECIAL-FUNCTIONS {ENABLED, DISABLED}
- ENABLEs (Default) the hard-coded Kermit special functions assigned to
- fixed keys. Example: Prev Screen key scrolls back one page in video
- memory. If DISABLED, all fixed key assignments are removed and the
- normal sequence for the key is transmitted. See the section on kermit
- special functions on how to assign the functions to keys.
-
-
-
- NEW and ENHANCED FEATURES
-
-
- 1.11.1 Keyboard Key Translations
-
-
- There are now 4 levels of key translations supported in this version of the
- emulator. The Function keys (grey) can be assigned (with some exceptions) to
- all 4 levels at the same time; however, only the highest level definition
- currently defined is translated. Level 1 is the highest level.
-
-
- ASCII SPECIAL
- LEVEL TYPE of ASSIGNMENT Strings FUNCTIONS Comments
- ----- ----------------------- ------- --------- ---------------------
- 1 VT220 User Defined Keys YES NO Down-line loaded
- 2 Interactive "Hot Keys" YES YES In CONNECT mode
- 3 Kermit SET KEY type YES YES Kermit command level
- 4 Kermit pre-assigned NO YES Hard-coded in program
-
-
- Level 1: VT220 UDK's
- Since these key definitions are loaded via host driven software they
- are given the highest priority. See the section on VT220 User Defined
- Keys for a full discussion. Also Appendix A.
-
- Level 2: Interactive "Hot Keys"
- Any key (except Hold screen and Set-up) can be defined or re-defined
- during CONNECT mode. The key can be assigned either to an Ascii string
- (255 characters max) or to a Special Function. In fact the key
- definition routines are themselves available as Special Functions. You
- can also cancel the current definition by assigning the key to an ascii
- string of null length. The routine provides menus and prompts so the
- process of defining a key is easy. The definitions are only valid for
- a given Kermit session, ie: if you exit to DOS they are lost. To make
- the assignment semi-permanent you can assign the keys via the SET KEY
- function in a KERMIT.INI file which is processed when you activate
- Kermit.
-
- Level 3: Kermit SET KEY
- This standard Kermit command has been enhanced to enable Special
- Functions to be assigned to keys. The scan code used indicates to the
- emulator that the definition is not an ascii string but rather a
- Special Function. You can calculate the Special Function scan code to
- be used by simply adding 4096 (decimal) to the scan code generated via
- the SHOW KEY command. Appendix B gives a complete list of all scan
- codes generated on a DEC Rainbow. When Kermit prompts for the key
- definition you simply supply the octal code assigned to each Special
- Function (\xxx where xxx is a 3-digit octal number). These octal
- numbers are assigned in sequence and as new functions are added they
- simply increase the number of valid functions available. Appendix C
- gives a list of vaild functions currently implemented.
-
- Level 4: Kermit pre-assigned Functions
- For compatibility with previous versions of MS-KERMIT these functions
- are currently hard-coded in the program as before. In addition several
- new functions have been added to the hard-coded list. Interactive HELP
- "Show all Keys" provides a seperate section in the display for these
- key definitions. Appendix D also gives a current list. Please note
- that you can "turn off" these pre-assigned function definitions via the
- "SET TERM SPECIAL-FUNCTIONS DISABLE" Kermit command.
-
-
- 1.11.2 VT220 User Defined Keys (UDK's)
-
- The User Defined Keys feature of the VT220 has been implemented with extensions.
- You do not have to be in VT220 mode for these keys to be down-loaded or used. A
- standard VT220 allows the keys F6 through F20 (including Help and Do) to be
- programmable via the DECUDK device control strings. They are invoked by typing
- the SHIFT-(function key). This implementation allows both the shift and also
- the un-shifted function keys to be downline loaded. In addition the editing
- keys (Find,Insert Here,Remove,Select,Prev Screen,Next Screen) may also be
- defined (both shifted and un-shifted). Please note that this is not DEC
- standard; so use with caution. The clear and lock parameters have also been
- implemented and all sequences work as described in the VT220 Programmer
- Reference Manual (pg 4-37 thru 4-41) EK-VT220-RM-001.
-
- DECUDK Device Control String Format
-
- DCS Pc;Pl | Ky1/st1;ky2/st2;......kyn/stn ST
-
- Where: DCS is the Control String Introducer (90 hex in 8-bit) or
- (<ESC>P in 7-bit)
- Pc is Clear Parameter (0 or none clear all keys before loading)
- (1 load new key values,clear old only if defined)
- Pl is Lock Parameter (0 or none lock against future redefinition)
- (1 do not lock against future redefinition)
- | Vert Bar Final character - characters between this character and
- the string terminator (ST) will be
- parsed by the emulator for definitions.
- Ky1 is a key code to be defined (see list below)
- / is a ascii slash used as a seperator
- St1 is a string of hex pairs which are the encoded contents of the key
- ; is a ascii semi-colon used to seperate multiple key definitions
- ST is the ansi String Terminator (9c hex in 8-bit) or
- (<ESC>\ in 7-bit)
-
- More information can be found in the VT220 Programmers Reference Manual
- mentioned above and by looking at the sample VAX Basic program provided in
- Appendix A. The following list of Key codes provides information on the
- extensions made to the standard VT220 codes. Leading zeros are required as the
- key code must be 2 ascii digits. In coding the Hex pairs you may use both upper
- and lower case alpha characters for the hex digits A-F (a-f).
-
- EXAMPLES:
-
- (a) To clear keys send the following string: <DCS>0;1|<ST>
-
- (b) To lock keys send the following string: <DCS>1;0|<ST>
-
- (c) To define key Shift/F20 as the string "PRINT" without clearing or locking
- any other keys you would:
-
- (1) Convert the text to Hex pairs:
- P = 50 hex
- R = 52 hex
- I = 49 hex
- N = 4E or 4e hex
- T = 54 hex
-
- (2) Compose the entire control sequence as follows:
-
- 8-bit mode - <DCS>1;1|34/5052494E54<ST>
-
- 7-bit mode - <ESC>P1;1|34/5052494E54<ESC>\
-
- *note-the 34 preceeding the / is the UDK key code found in the following table
-
-
- Table of Key Codes for Use in Defining UDK's
- --------------------------------------------
-
- (shifted) (un-shifted)
- KEY NAME KEY CODE KEY CODE
- -------------- -------- --------
- F6-Interrupt 17 * 57
- F7-Resume 18 * 58
- F8-Cancel 19 * 59
- F9-Main Screen 20 * 60
- F10-Exit 21 * 61
- F11-(ESC) - VT220 only 23 * 63 | active only if
- F12-(BS) - VT220 only 24 * 64 | FUNCTION-KEYS VT220
- F13-(LF) - VT220 only 25 * 65 | has been set
- F14-Addtnl Options 26 * 66
- F15-Help 28 * 68
- F16-Do 29 * 69
- F17- 31 * 71
- F18- 32 * 72
- F19- 33 * 73
- F20- 34 * 74
- Find 01 41
- Insert Here 02 42
- Remove 03 43
- Select 04 44
- Prev Screen 05 45
- Next Screen 06 46
- (ESC) - VT100 only 07 47 | active only if
- (BS) - VT100 only 08 48 | FUNCTION-KEYS VT100
- (LF) - VT100 only 09 49 | has been set
-
- * Indicates standard VT220 code. All others
- should be considered extentions.
-
-
- ----------The leading zeros in the Key Code (if any) are required------------
-
-
-
- note- the VT100 only keys and the VT220 only keys can always be
- loaded regardless of the "SET TERMINAL FUNCTION-KEYS" setting.
-
-
- 1.11.3 Special Kermit Functions
-
- The following section describes the Kermit Special Functions currently available
- in this version of the emulator. The octal code (\xxx) assigned to each
- function is given. Many of the routines come in three versions: toggle, turn
- on, and turn off. They are grouped here by type of function and therefore the
- octol codes are not in sequence. Appendix C gives a complete list in numerical
- sequence.
-
- ------ SCREEN MANAGEMENT (SCROLL) ROUTINES
-
- \002 View Prev Screen (Scroll) | Go back one screen if possible
- \003 View Next Screen (Scroll) | Go forward one screen if possible
- \004 View Prev Line (Scroll) | Go back a single line if possible
- \005 View Next Line (Scroll) | Go forward a single line if possible
- \006 View Screen Bottom | Re-position screen at last recvd char
-
-
- ------ KERMIT SET TERMINAL ROUTINES
-
- \020 Toggle Eight-bit Mode |
- \021 Turn on Eight-bit Mode | same as SET TERMINAL EIGHTBIT-MODE
- \022 Turn off Eight-bit Mode |
-
- \026 Toggle Save Screen (80/132) |
- \027 Turn on Save Screen (80/132) | same as SET TERMINAL SAVE-SCREEN
- \030 Turn off Save Screen (80/132) |
-
- \101 Toggle Line Monitor Mode |
- \102 Turn on Line Monitor Mode | same as SET TERMINAL LINE-MONITOR
- \103 Turn off Line Monitor Mode |
-
- \105 Toggle Special Functions |
- \106 Special Functions Disabled | same as SET TERMINAL SPECIAL-FUNCTIONS
- \107 Special Functions Enabled |
-
- \110 Toggle Function Key Mode |
- \111 Set Function Keys to VT220 | same as SET TERMINAL FUNCTION-KEYS
- \112 Set Function Keys to VT100 |
-
-
- ------ PRINT AND DUMP ROUTINES
-
- \000 Print Screen | Current full screen only
- \114 Print Screen + Memory | As above + to end of scroll memory
-
- \001 Dump Screen to Disk | Similar to Print Screen but to disk
- \113 Dump Screen + Memory to Disk | As above + to end of scroll memory
-
- \011 Print Current Line | Print line which has cursor on it
-
- \012 Toggle Print Recv Char | Send received characters to
- \013 Turn on Print Recv Char | the printer just as received
- \014 Turn off Print Recv Char | with no editing
-
- \015 Toggle Media Copy | Similar to ANSI Media Copy - Printer
- \016 Turn on Media Copy | Controller on/off however if turned on
- \017 Turn off Media Copy | with this rtn then must turn off too.
-
- \023 Toggle Auto-print | Simulates <CSI>?5i (on); <CSI>?4i (off)
- \024 Turn on Auto-print | If on, then print each line as cursor is
- \025 Turn off Auto-print | about to move to next line.
-
- ------ CONNECT MODE INTERACTIVE ROUTINES
-
- \007 Send Break | 275 ms Break
- \010 Send Break (long) | 2000 ms Break (2 sec)
-
- \031 Toggle Monitor Mode (debug) | Monitor mode (Debug) shows transmitted
- \032 Turn on Monitor Mode (debug) | and received characters and escapes.
- \033 Turn off Monitor Mode (debug) | Rcvd=norm video;Xmit=rev video
-
- \061 Connect mode Help (menu) | Allows selection of functions below:
- \070 Define Hot Key - Spl Function | Set any key to a special function
- \071 Define Hot Key - Ascii String | Set any key to an Ascii string (255 max)
- \072 Show all Key Definitions | See definitions in priority sequence
- \073 Show Special Status | View current emulator status/settings
- \104 Show Diagnostics & Internals | Current internal variables shown
-
- \062 Kermit Close (Prompt) | same as hitting kermit escape-char + C
- \063 Kermit Command Menu | same as hitting kermit escape-char + ?
- \064 Kermit Push to DOS | same as hitting kermit escape-char + P
- \065 Kermit Quit Logging | if logging and on: then quits log
- \066 Kermit Resume Logging | if logging and off: then resumes log
- \067 Kermit Exit to MS-DOS | simulates a escape-char + c + exit + cr
- \074 Kermit Status | same as hitting kermit escape-char + S
-
- \075 Hold-Screen (soft) Xon/Xoff | Simulates hold screen w/xon/xoff + Lite
-
- \076 Toggle the UDK Lock | Allows the UDK lock to be set/reset
- \077 Turn on (Lock) the UDK's | externally (as in a VT220 set-up)
- \100 Turn off (Unlock) the UDK's | current setting on special status
-
- \115 Toggle Loop-Back Mode | This is same as doing both a line-
- \116 Turn on Loop-Back Mode | monitor and Media copy (printer
- \117 Turn off Loop-Back Mode | controller) at same time.
-
-
- ------ RAINBOW SET-UP ROUTINES
-
- \034 Toggle Screen Size (80/132) |
- \035 Set Screen to 80 cols | Same as SET-UP except it honors the
- \036 Set Screen to 132 cols | Save-Screen setting
-
- \037 Toggle Smooth Scroll |
- \040 Turn on Smooth Scroll | Same as SET-UP uses ANSI set/reset
- \041 Turn off Smooth Scroll |
-
- \042 Toggle Screen Background |
- \043 Screen Background Light | Same as SET-UP uses ANSI set/reset
- \044 Screen Background Dark |
-
- \045 Toggle Auto-repeat keys |
- \046 Turn on Auto-repeat keys | Same as SET-UP uses ANSI set/reset
- \047 Turn off Auto-repeat keys |
-
- \050 Toggle US/UK Char Set |
- \051 Set US as Char Set | Same as SET-UP uses ANSI set/reset
- \052 Set UK as Char Set | Does not change current only default
-
- \053 Toggle Auto-wrap |
- \054 Turn on Auto-wrap | Same as SET-UP uses ANSI set/reset
- \055 Turn off Auto-wrap |
-
- \056 Toggle New-line Mode |
- \057 Turn on New-line Mode | Same as SET-UP uses ANSI set/reset
- \060 Turn off New-line Mode |
-
- \122 Toggle Cursor Style (Und/Blk) |
- \123 Set Cursor Style to Block | Same as SET-UP direct firmware set
- \124 Set Cursor Style to Underline |
-
- ------ RAW FILE (ASCII) TRANSMIT FUNCTIONS
-
- \120 Transmit File (Kermit.xmt) | file is opened and sent to serial port
- | just as though it was keyed in. Note-
- | this procedure will honor the setting
- | of the Kermit EOF flag. If set to ctrl
- | Z it will stop when found, else entire
- | file is sent. The user may key a ctrl
- | X to abort the transmission.
-
- \121 Set File Name for Raw Transmit | same as function from main help menu
-
-
- 1.11.4 Video Scroll Buffer Management
-
- The scroll buffer routines have been extensively re-worked and several features
- and improvements have been made.
-
-
- SIZE
- The maximum size of the video buffers has been increased to 20 pages.
- That works out to 480 lines of up to 132 characters of text. The memory
- is allocated on a line by line basis and required changes to the memory
- allocation portion of 2.29 kermit. This is caused by the fact that on a
- Rainbow a line of text can be 132 characters long, which is not a
- multiple of a MS-DOS paragraph (16 bytes). In order to maximize the
- screen memory available, the characters (text) are kept separate from
- the video attributes and have a separate segment address. This allows
- 64K for text and 64K for attribute storage yielding 480 lines of screen
- memory.
-
-
- SPEED
- Direct transfers from Video Memory to the scroll buffers has been
- implemented. This saves an extra transfer through an intermediate
- memory buffer. The direct transfer is used only during normal receive
- character processing, not for scroll-back processing.
-
-
- ATTRIBUTES
- This implementation provides for line attribute control as well as
- character video attributes. This is done by temporarily storing the
- line attribute in the high nibble of the first character of a line's
- video attribute. The line attribute uses only 3 bits and the character
- attribute uses only the low order 4 bits.
-
-
- ACCURACY
- Every attempt has been made to maintain the accuracy of the video
- scroll-back memory. If you scroll back and then a character is received
- from the host the emulator restores the screen to the proper place
- before putting the received character to the screen. Split screen
- (scrolling regions) are also handled as well as the origin mode
- (absolute vs. relative).
-
-
- BUGS
- The Rainbows hardware and firmware are very complex and a number of bugs
- in v2.29 were located and fixed. Smooth scroll coupled with auto-wrap
- was one problem which has been corrected. Apparently smooth scroll
- affects the ability of the firmware to maintain its wrap-pending flag
- accurately if the previous line is still moving when a new line tries to
- auto-wrap. The symptom of this problem is that multiple duplicate top
- lines are saved into scroll memory and several (more at slow scroll,
- less at fast scroll) characters which should have wrapped are lost.
- Protection has also been added so the scroll-back routines don't try to
- display lines they don't have.
-
-
-
- 1.11.5 Printer and Dump Support
-
-
- Complete support for all printer port functions has been included in this
- version of the emulator. The emulator now performs all of the same functions
- available through the Rainbow's "Terminal Mode" emulator. This includes support
- for the "PRINT EXTENT" and "PRINT TERM CHAR" which are settable via SET-UP or
- through host software (Ansi SET/RESET sequences). In addition, the emulator
- also supports the VT100 line drawing character set so that garbage does not get
- sent to the printer port. The method of implementation is the same as provided
- by DEC in the firmware's terminal emulation mode. It has been tested using
- video line monitors attached to the Rainbow's printer port. Video attributes
- are also processed so the net result is an accurate representation of what was
- on the screen at the time of the print/dump request. The Rainbow emulator
- assumes that the device attached to the printer port is a DEC compatible printer
- and issues the appropiate Ansi/DEC escape and control sequences. For printers,
- the video attributes of bold and underline will come out if the printer supports
- them. The reverse and blinking attributes, as well as the line attributes
- (double hi/wide), are also sent; however, most printers just ignore them. The
- screen dump to disk utilities have been integrated with the printer port support
- so that the same results are obtained. Dumping a complex screen to disk and
- then "playing it back" via the MS-DOS type command yields an exact duplicate of
- the original screen.
-
- The following VT100 Ansi compatible sequences are supported:
-
- Name Mnemonic Sequence
- ---- -------- --------
-
- Print form feed on DECPFF <ESC>[?18h
- Print form feed off DECPFF <ESC>[?18l
-
- Print extent (Full screen) DECPEX <ESC>[?19h
- Print extent (Scrolling region) DECPEX <ESC>[?19l
-
- Media copy (Enter auto print) MC <ESC>[?5i
- Media Copy (Exit auto print) MC <ESC>[?4i
-
- Media Copy (Enter printer controller) MC <ESC>[5i
- Media Copy (Exit printer controller) MC <ESC>[4i
-
- Media Copy (Print screen) MC <ESC>[i or <ESC>[1i
-
- Media Copy (Print cursor line) MC <ESC>[?i or <ESC>[?1i
-
- notes:
- 1. The DECPFF and DECPEX sequences are used in MC (Print Screen) only.
- 2. Except for using DECPFF and DECPEX the Kermit Special Function "\000
- Print Screen" is the same as MC (Print screen).
- 3. Kermit Special Function "\023,\024,\025 Auto-print" duplicate the Ansi
- compatible MC (Enter/Exit auto print) sequences.
- 4. Kermit Special Function "\011 Print Current Line" is the same as the
- Media Copy (Print cursor line).
- 5. Kermit Special Functions "\015,\016,\017 Media Copy" are similar to the
- Media Copy (Enter/Exit printer controller). The one difference is that
- if you use the Kermit function to "Enter", you must also use it to "Exit"
- printer controller mode. This is to allow all characters (including a
- possible Media Copy (exit printer controller) sequence) to be routed to
- the printer port. The Kermit Special Function "Media Copy" can be used
- to turn off a host generated media copy (enter printer controller)
- sequence.
- 6. Auto-print means that the line will be printed immediately before the
- cursor moves off the current line.
- 7. Printer-controller means that all characters (except x-on/x-off,nulls,
- DEL's, and <ESC>[?4i MC (exit printer controller)) will be passed
- without interpretation to the printer port.
-
-
- 1.11.6 Connect Mode Interactive Help
-
- The general form of this routine is a menu which allows a selection of five
- different functions. Each function is a completly independent routine which
- can be assigned individually to a key if desired. All routines overlay the top
- 15 lines of the current video display in reverse video and completly restore
- them when finished. The bottom line is always high-lighted and contains
- instructions for the current function.
-
-
-
- 1. display......
-
-
- M A I N H E L P M E N U
-
-
-
-
- Select a Function:
-
-
- ----> Show all Key Definitions
-
-
- Set Interactive Hot Key to Special Function
-
-
- Set Interactive Hot Key to an Ascii String
-
-
- Show Special Interactive Status
-
-
- Show Kermit Diagnostics and Internals
-
-
- Set File Name for Raw Transmit
-
-
-
-
- -------------------------------------------------------------------------------
- <Select>/<Return> to SELECT; Up-arrow/Down-arrow to MOVE; space/<Exit> to EXIT
- -------------------------------------------------------------------------------
-
-
-
-
- note - Only the arrow keys are used by this routine; however, the cursor is
- circular in nature and if positioned at the bottom item a down-arrow
- causes it to go to the top. If at the top and up-arrow then it goes to
- the bottom. When called the first time the arrow cursor is placed at the
- top menu selection; however, after the first call the cursor is
- re-positioned to the last menu item selected. It should be noted that
- this routine is selectable as a special function itself, as well as its
- five individual components.
-
-
- 1.11.6 Connect Mode Interactive Help (continued).......
-
-
- Show all Key Definitions
- ------------------------
-
-
- --------------------------
- VT-220 UDK Key Definitions
- --------------------------
- There are no Key Definitions for this Type
- or
- Shift/F9-Main Screen ==> [...........]
- F7-Resume ==> [...........]
- [...........] .. etc.
-
-
- --------------------------
- "Hot Keys" Key Definitions
- --------------------------
- There are no Key Definitions for this Type
- or
- Shift/F9-Main Screen ==> [...........]
- Keypad PF1 ==> [...........]
- [...........] .. etc.
-
-
- -------------------------
- Kermit Set Key Definitions
- --------------------------
- There are no Key Definitions for this Type
- or
- Shift/F9-Main Screen ==> [...........]
- Keypad PF1 ==> [...........]
- [...........] .. etc.
-
-
- --------------------------
- Kermit Funtion Assignments
- --------------------------
- There are no Key Definitions for this Type
- or
- F2-Print Screen ==> [...........]
- Prev Screen ==> [...........]
- Ctrl/Prev Screen ==> [...........] .. etc.
-
-
-
- -------------------------------------------------------------------------------
- Space or <Exit> to EXIT; <Prev>/<Next> Screen or Up-arrow/Down-arrow to PAGE
- -------------------------------------------------------------------------------
-
-
- note - The key definitions are displayed in the priority sequence that they will
- be processed. The routine formats all definitions into pages and these
- pages are what you have control over viewing. The up-arrow/prev-screen
- keys give backward paging and the down-arrow/next-screen keys allow
- forward paging. The top of the display has a message telling that it's
- on Page x of n Pages.
-
-
- Set Interactive Hot Key to Special Function
- -------------------------------------------
-
- 1. prompt.... Press the Key you want to Define
-
-
- 2. display... Shift/Ctrl/Keypad PF3 or other description depending on
-
- which key is pressed
- 3. then display.....
-
-
- This Key Currently has No Definitions
- or
- This Key Currently Defined as Follows:
-
- As a VT220 UDK key ---> [....................key...................
- As a "Hot Keys" key ---> .................definitions...............
- As a Set Key type key ---> ..................displayed................
- As Kermit Function key ---> ....................here..................]
-
-
- 4. then show function menu......
-
-
- Select a Function:
- [..........allowable................
- ...........functions................
- ---> ...........displayed................
- .............here...................
- ....................................]
-
-
- -------------------------------------------------------------------------------
- Use: up/dwn Arrows, Prv/Nxt Scrn to Move; cr or Select to Pick; Cancel to Quit
- -------------------------------------------------------------------------------
-
-
- note- The display size is limited, so a best effort attempt is made at
- displaying the current definitions for the selected key. If the screen
- will overflow a message is displayed and after hitting any key the routine
- resumes with a limited area for showing function choices. The minimum
- area is one line. The arrow keys operate a line at a time while the
- next/prev screen keys move whatever is the current display depth. The
- function menu does not wrap-around but will sound a beep if you try to go
- above the top or past the bottom.
-
-
-
- 1.11.6 Connect Mode Interactive Help (continued).......
-
-
- Set Interactive Hot Key to an Ascii String
- ------------------------------------------
-
-
- 1. prompt.... Press the Key you want to Define
-
-
- 2. display... Shift/Ctrl/Keypad PF3 or other description depending on
-
- which key is pressed
- 3. then display.....
-
-
- This Key Currently has No Definitions
- or
- This Key Currently Defined as Follows:
-
- As a VT220 UDK key ---> [....................key...................
- As a "Hot Keys" key ---> .................definitions...............
- As a Set Key type key ---> ..................displayed................
- As Kermit Function key ---> ....................here..................]
-
-
- 4. then allow string entry.........
-
-
- Enter Key Definition ----> [........... enter definition.....................
- ..................................................
- ................................................]
-
-
-
- -------------------------------------------------------------------------------
- Use: <X] to ERASE; Ctrl-alpha key for CTL-CHAR; <Exit> to END; <Cancel> to QUIT
- -------------------------------------------------------------------------------
-
-
- note- The display size is limited so a best effort attempt is made at displaying
- the current definitions for the selected key. If the screen will overflow
- a message is displayed and after hitting any key the routine resumes with
- a limited area for a new definition. If you exceed the new definition
- area the key strokes are still being recorded but do not display. the
- maximium length of any single key definition is 255 characters. If you
- exceed that, the routine beeps until you hit <exit>, <cancel> or <X]. Any
- control characters entered will be high-lighted as a bright character.
-
-
-
- Show Special Interactive Status
- -------------------------------
-
- 1. sample display......
-
- LEFT SIDE:
-
- Default Ascii Character set : US,UK or VT100
- Current G0 Character set : US,UK or VT100
- Current G1 Character set : US,UK or VT100
- Shift In/Shift Out Status : SI or SO
- Auto-repeat Keys Status : Off or On
- Caps Lock Function Status : Caps or Shift
- New Line Mode : CR or CR/LF
- Auto-wrap Mode : Off or On
- Print Termination Char : None or FF
- Print Screen Extent : Scroll or Full
- Save Screen (80/132) Mode : Off or On
- Kermit Logging Status : Off or On
- VT220 UDK Lock Status : Locked or Unlocked
-
-
-
-
- RIGHT SIDE:
-
- Terminal Type (responds as) : VT102-d,VT52-h,VT52,VT102,VT220,VT125,VT100
- Firmware Emulation Mode : VT52 or Ansi
- Eight Bit Mode : Off or On
- Auto-Xon (connect) Mode : Off or On
- Function Keys as : VT100+ or VT220
- Kermit Special Functions : Enabled or Disabled
- Line Monitor (Port B) Mode : Off or On
- Media Copy (controller) : Off or On
- Auto-print (line) Status : Off or On
- Print Recvd Characters : Off or On
- Monitor Mode (debug) Status : Off or On
- Monitor Mode Display Style : Print or Video
- Insert/Replacement Mode : Replace or Insert
-
-
-
- -------------------------------------------------------------------------------
- --------- Hit Any Key to Exit ---------
- -------------------------------------------------------------------------------
-
- This display provides additional information about the current (dynamic) status
- of the Rainbow emulator. This data is found in software switches within the
- emulator or in high memory (NVM and Video) which is accessed by the built-in
- ROM firmware.
-
-
-
- Show Kermit Diagnostics and Internals
- -------------------------------------
-
- 1. sample display......
-
- Scroll Buffers: Total Lines = 480 (20 Screens) Current: Top = 342 Bottom = 0
-
- Key Buffers---: #Max #Now Max Used Avail Diagnostics:
- VT220 Keys : 48 0 1024 0 1024 Wait for Transmitter (X32)... 148
- Hot Keys : 50 0 512 0 512 Receive Timeout (.rtime)..... 0
- Set Keys : 200 8 400 63 337 Sent Chars Buffered.......... 0
- Receive Error (framing)...... 0
- Com Line : Sent Rcvd Typd ChlB Chan B (printer) receive..... 0
- X-On : 6 2 0 0 Receive Buffer Over-flow..... 0
- X-Off : 6 5 0 0 Receive Parity Error......... 0
- Channel B Buffer Over-flow... 0
- Scroll Region: 1;24 Origin Mode is Absolute
-
- -------------------------------------------------------------------------------
- <Cancel> key to Reset the Diagnostics - Any other Key to Exit
- -------------------------------------------------------------------------------
-
- The <Cancel> key will reset the Com Line (xon/xoff counts) as well as all the
- diagnostic variables. Most of the information is obvious; however, the
- diagnostics need some further explanation:
-
- Line 1- Wait for Transmitter (X32)...
- The count of the number of retries required in the software controlling
- the transmission of characters on port A. It is actually the number of
- times the software looped (divided by 32) waiting for the tranmitter
- ready bit to come on. A high number indicates that the emulator is
- spending time waiting to transmit.
- Line 2- Receive Timeout (.rtime).....
- Can only happen during file tranfer, not in terminal mode. It indicates
- the host has x-off'ed us and the kermit receive timeout interval has
- expired without being x-on'ed by the host. In terminal mode the
- software buffers the remaining transmittable characters in a special
- circular output buffer. (see next line)
- Line 3- Sent Chars Buffered..........
- Count of the total number of characters routed through the special
- output circular buffer. Host x-off is not the only reason we route
- through this buffer. Special care is given not to over-run a host input
- buffer and so if the receive buffer exceeds a certain threshold we route
- through the circular buffer. In addition a timing delay of
- approximately 3 mili-seconds is introduced between characters when
- transmitting either from the buffer or sending long strings.
- Line 4- Receive Error (framing)......
- Indicates a framing or parity (hardware) error. Usually caused by mis-
- matched speeds between the Rainbow and Host.
- Line 5- Chan B (printer) receive.....
- Indicates character traffic from printer port back to MS-DOS.
- Line 6- Receive Buffer Over-flow.....
- Over-run of receive buffer caused by host not responding to X-off.
- Line 7- Receive Parity Error.........
- A software parity error detected; most likely caused by a mis-match
- between Host and Kermit's parity settings.
- Line 8- Channel B Buffer Over-flow...
- Indicates a buffer over-flow in line-monitor mode. Most likely caused
- by the device on the printer port (B) not responding to X-off.
-
-
-
- Set File Name for Raw Transmit
- ------------------------------
-
- 1. display.........
-
-
- Current |-------------------------------------------------------|
- File Name: | Kermit.xmt |
- |-------------------------------------------------------|
-
-
-
-
- |-------------------------------------------------------|
- Enter File Name --> | |
- |-------------------------------------------------------|
-
- Note: Enter Drive and/or Full Path Name to specify a file not in
- the Current Path (default or set by "CWD").
-
-
-
-
- ------------------------------------------------------------------------------
- Use: <X] to Erase; <Exit> to End; <Cancel> to Quit
- ------------------------------------------------------------------------------
-
-
-
-
-
-
- 2. Instructions:
- Type in a new file name. Do not end with a <CR>, instead use
- the <Exit> key. If the file can be located by DOS the following
- message is shown and the current name is updated.
-
- *** A New Current File Name has been Selected ***
-
- If the file is invalid the following message is shown and the
- old name remains unchanged.
-
- Can Not Find File using the Current Path
-
-
- 1.11.7 Improvements and Bug Fixes
-
- THE FOLLOWING IS A SUMMARY OF CHANGES MADE TO V2.29 of Kermit-MS
-
- Interrupt Service Routines
- The interrupt service routine have been completly re-written and tested.
- Several problems with flow-control (xon/xoff) have been corrected. If
- the transmitter is being held (host sent x-off) it is correct protocol
- to still send x-off to the host if the transmitter's receive buffer
- fills or if the user types a x-off. Another problem was that the
- receive buffer hi-water mark is detected within the interrupt service
- routine and it is not appropiate for the ISS to use an external routine
- to send a x-off (OUTCHR). This version sends the x-off directly from
- within the interrupt service routine. In addition to a hi-water point,
- this version implements a lo-water mark too. This prevents the receiver
- from x-on'ing the host too soon and improves throughput. Support was
- added so that Kermit can optionally control the printer port interrupts
- (see Line-monitor mode). A transmit circular buffer was added so that
- the routine does not hang on transmission of long character strings. A
- problem was caused by the host x-off'ing before the string had been
- completly sent. Transmission of buffered characters was also slowed
- down (terminal mode only) so as not to over-run a host's buffer control.
-
- Monitor Mode
- Monitor mode uses video attributes to distinguish between various modes
- of operation. In general the following apply:
-
- NORMAL - Received Characters
- BRITE - Parsed escape and control sequences
-
- REVERSE - Transmitted Characters
- BRITE - Control Characters (Ascii col 0,1,8 and 9)
- UNDERLINE- Buffered in circular transmit buffer
- BLINKING - Trapped in Level 2 firmware buffer (response to report
- cursor position)
-
- In addition to characters received/transmitted, monitor mode also shows
- X-on's and X-off's received or transmitted. Monitor mode causes only a
- slight decrease in throughput as measured by the number of x-on's and
- x-off's received and sent. This is due to direct manipulation of the
- video attribute byte in the firmware rather than using Ansi sequences.
- Most escape and control sequences are not actually done in monitor mode;
- however, as a convience some are (eg. UDK download).
-
- Escape and Control Sequences
- The emulator now has a complete Ansi escape/control parser which has
- been modeled after the Rainbow's own terminal emulation. The DEC manual
- "Rainbow 100+/100B Terminal Emulation Manual QV069-GZ" was the primary
- source for most of the design. Although all escape,control sequences
- and device control sequences are parsed, most are simply passed to the
- system firmware for actual exectuion. If monitor mode has been invoked,
- this process is different. In that case most sequences are just
- displayed and not sent to the firmware. There are some exceptions to
- this rule, especially those sequences handled by the emulator itself.
- An example is the VT220 UDK device control string which is handled the
- same in monitor mode as in regular terminal mode. Another example is
- the emulator's handling of the "Device Attributes (what are you)"
- request. In addition, those sequences which set internal translation
- flags such as "set keypad to application mode" work in monitor mode. In
- general, functions which effect the key translation modes execute, while
- those that effect the screen display (cursor position, graphic
- rendition, etc) do not execute in monitor mode.
-
- Video Attributes
- In order to improve VT220 compatibility, the video attributes are
- handled by the emulator directly. This has allowed the support of the
- following additions to the "select graphic rendition" sequences:
-
- (SGR) <ESC>[Ps;Ps....m
-
- Ps = 22 Display normal intensity (bold off)
- = 24 Display not underline (underline off)
- = 25 Display not blinking (blinking off)
- = 27 Display positive image (reverse off)
-
- Emulation of VT2xx specific sequences
- The Rainbow uses firmware to support a "VT100 console" and so extensions
- to the sequences recognized by the emulator must be implemented in
- software. The following VT2xx sequences have been implemented:
-
- (ICH) Insert Characters - <CSI> Pn @
- Insert Pn blank characters at the cursor position, with the character
- attributes set to normal. The cursor does not move and remains at the
- beginning of the inserted blank characters. A parameter of 0 or 1
- causes one blank character to be inserted. Data on the line is shifted
- forward as in character insertion.
-
- (ECH) Erase Character - <CSI> Pn X
- Erases characters at the cursor position and the next n-1 characters.
- A parameter of 0 or 1 causes a single character to be erased.
- Character attributes are set to normal. No reformatting of data on the
- line occurs. The cursor remains in the same position.
-
- (DECSCA) Select Character Attributes - <CSI> Ps " q
- Select all subsequent characters to be "selective erasable" or "not
- selective erasable".
- Ps = 0 All attributes off (does not apply to SGR)
- = 1 Designate character as "non-erasable" by DECSEL/DECSED
- (attribute on)
- = 2 Designate character "erasable" by DECSEL/DECSED
- (attribute off)
-
- (DECSEL) Selective Erase in Line - <CSI> ? Ps K
- Similar to "Erase in line (EL)" except "erasable" characters only.
- Does not effect video line attributes or video character attributes.
-
- Ps = 0 or null Erases all "erasable" characters (DECSCA) from cursor
- to the end of line.
- = 1 Erases all "erasables" from beginning of line up to and
- including the current cursor position.
- = 2 Erases all "erasables" on the current line.
-
- (DECSED) Selective Erase in Display - <CSI> ? Ps J
- Similar to "Erase in display (ED)" except "erasable" characters only.
- Does not effect video line attributes or video character attributes.
-
- Ps = 0 or null Erases all "erasable" characters (DECSCA) from cursor
- to the end of display.
- = 1 Erases all "erasables" from beginning of display up to and
- including the current cursor position.
- = 2 Erases all "erasables" on the current display.
-
- (DECTCEM) Text Cursor Enable Mode - <CSI>?25h (Set) -or- <CSI>?25l (Reset)
- Set ( <CSI>?25h ) causes the cursor to be visible.
- Reset ( <CSI>?25l ) causes the cursor to not be visible.
-
-
- 1.11.8 Cautions and Future Enhancements
-
- Rainbow and the VAX
- This version has been tested and run under VAX/VMS V4.4 and several
- problems are known. In particular, using a port connected via a DMF32
- adapter using the SYSGEN defaults causes strange side effects when
- transmitting long character strings. The DMF32 has a silo for received
- characters and a time-out parameter which is intended to minimize CPU
- interrupts. The time-out allows a minimum time to elapse before posting
- an interrupt and if transmitting at a fast rate (eg. 9600 baud) from a
- program such as Kermit, several characters accumulate in the silo before
- the CPU is notified. The standard type-ahead buffer in VMS is set to
- send x-off when less than 8 bytes remain in the type-ahead buffer;
- unfortunately the DMF32 silo can have more than enough to cause a data
- over-run. Another problem is that the DMF32 has a speed error of +5%
- when set to 19,200 baud. The Rainbow on the other hand uses a Intel
- 8274 multi-protocol serial controller with an error rate of -3% at
- 19,200 baud. The combined effect of these speed differences makes VAX
- to Rainbow communications at 19,200 baud impossible. This emulator was
- tested at 19,200 baud with VMS by telling the terminal driver in VMS to
- send two stop bits instead of one. As of now, there is no way of
- "locking" this into the driver and any VMS request (even SHOW TERMINAL)
- to the driver resets the stop bits to "normal".
-
- Additional Special Functions
- The process of adding additional special functions to the emulator is
- relatively easy. Addition of a routine to "raw transmit" a file is
- already underway. Most of the features required for such a function are
- already in this emulator (ie. circular transmit buffer). It may be
- useful to have a function to reset the terminal to some sort of standard
- conditions (as in VT220 reset function).
-
- VT52 mode
- No attempt has been made to operate the emulator in "true" VT52 mode.
- This means that the emulator acts like a VT1xx/VT2xx emulator regardless
- of the current firmware emulation mode (VT52/ANSI). If however, the
- firmware mode is set to VT52, then some VT1xx/VT2xx sequences won't be
- recognized by the firmware. Best advice is to run as a VT1xx/VT2xx if
- at all possible.
-
- Appendix A - VAX Basic example program to load and lock the VT220 UDK's pg A-1
-
-
- 10 !
- external string function asc.hex
-
- declare word j
-
- declare string constant dcs = esc + "P"
- declare string constant st = esc + "\"
- declare string constant start_it = dcs + "1,1|"
- declare string constant clear_it = dcs + "0;1|" + st
-
- declare word constant max_keys = 48
-
- dim Keys$(max_keys), Udef$(max_keys)
-
- !
- ! shift/key F6 - Interrupt
- !
- keys$(1)="17"\udef$(1)=""
-
- !
- ! shift/key F7 - Resume
- !
- keys$(2)="18"\udef$(2)=""
-
- !
- ! shift/key F8 - Cancel
- !
- keys$(3)="19"\udef$(3)=""
-
- !
- ! shift/key F9 - Main Screen
- !
- keys$(4)="20"\udef$(4)=""
-
- !
- ! shift/key F10 - Exit
- !
- keys$(5)="21"\udef$(5)=""
-
- !
- ! shift/key F11 - (ESC) VT220 function keys only
- !
- keys$(6)="23"\udef$(6)=""
-
- !
- ! shift/key F12 - (BS) VT220 function keys only
- !
- keys$(7)="24"\udef$(7)=""
-
- !
- ! shift/key F13 - (LF) VT220 function keys only
- !
- keys$(8)="25"\udef$(8)=""
-
- !
- ! shift/key F14 - Addtnl Options
- !
- keys$(9)="26"\udef$(9)=""
-
- !
- ! shift/key F15 - Help
- !
- keys$(10)="28"\udef$(10)=""
-
- !
- ! shift/key F16 - Do
- !
- keys$(11)="29"\udef$(11)=""
-
- !
- ! shift/key F17 -
- !
- keys$(12)="31"\udef$(12)=""
-
- !
- ! shift/key F18 -
- !
- keys$(13)="32"\udef$(13)=""
-
- !
- ! shift/key F19 -
- !
- keys$(14)="33"\udef$(14)=""
-
- !
- ! shift/key F20 -
- !
- keys$(15)="34"\udef$(15)=""
-
- !
- ! shift/key Find
- !
- keys$(16)="01"\udef$(16)=""
-
- !
- ! shift/key Insert Here
- !
- keys$(17)="02"\udef$(17)=""
-
- !
- ! shift/key Remove
- !
- keys$(18)="03"\udef$(18)=""
-
- !
- ! shift/key Select
- !
- keys$(19)="04"\udef$(19)=""
-
- !
- ! shift/key Prev Screen
- !
- keys$(20)="05"\udef$(20)=""
-
- !
- ! shift/key Next Screen
- !
- keys$(21)="06"\udef$(21)=""
-
- !
- ! shift/key F11 - (ESC) VT100 function keys only
- !
- keys$(22)="07"\udef$(22)=""
-
- !
- ! shift/key F12 - (BS) VT100 function keys only
- !
- keys$(23)="08"\udef$(23)=""
-
- !
- ! shift/key F13 - (LF) VT100 function keys only
- !
- keys$(24)="09"\udef$(24)=""
-
- !
- ! key F6 - Interrupt
- !
- keys$(25)="57"\udef$(25)=""
-
- !
- ! key F7 - Resume
- !
- keys$(26)="58"\udef$(26)=""
-
- !
- ! key F8 - Cancel
- !
- keys$(27)="59"\udef$(27)=""
-
- !
- ! key F9 - Main Screen
- !
- keys$(28)="60"\udef$(28)=""
-
- !
- ! key F10 - Exit
- !
- keys$(29)="61"\udef$(29)=""
-
- !
- ! key F11 - (ESC) VT220 function keys only
- !
- keys$(30)="63"\udef$(30)=""
-
- !
- ! key F12 - (BS) VT220 function keys only
- !
- keys$(31)="64"\udef$(31)=""
-
- !
- ! key F13 - (LF) VT220 function keys only
- !
- keys$(32)="65"\udef$(32)=""
-
- !
- ! key F14 - Addtnl Options
- !
- keys$(33)="66"\udef$(33)=""
-
- !
- ! key F15 - Help
- !
- keys$(34)="68"\udef$(34)=""
-
- !
- ! key F16 - Do
- !
- keys$(35)="69"\udef$(35)=""
-
- !
- ! key F17 -
- !
- keys$(36)="71"\udef$(36)=""
-
- !
- ! key F18 -
- !
- keys$(37)="72"\udef$(37)=""
-
- !
- ! key F19 -
- !
- keys$(38)="73"\udef$(38)=""
-
- !
- ! key F20 -
- !
- keys$(39)="74"\udef$(39)=""
-
- !
- ! key Find
- !
- keys$(40)="41"\udef$(40)=""
-
- !
- ! key Inser Here
- !
- keys$(41)="42"\udef$(41)=""
-
- !
- ! key Remove
- !
- keys$(42)="43"\udef$(42)=""
-
- !
- ! key Select
- !
- keys$(43)="44"\udef$(43)=""
-
- !
- ! key Prev Screen
- !
- keys$(44)="45"\udef$(44)=""
-
- !
- ! key Next Screen
- !
- keys$(45)="46"\udef$(45)=""
-
- !
- ! key F11 - (ESC) VT100 function keys only
- !
- keys$(46)="47"\udef$(46)=""
-
- !
- ! key F12 - (BS) VT100 function keys only
- !
- keys$(47)="48"\udef$(47)=""
-
- !
- ! key F13 - (LF) VT100 function keys only
- !
- keys$(48)="49"\udef$(48)=""
-
- !
- ! Clear and unlock the UDK's "<ESC>P1;1|<ESC>\"
- !
- print clear_it;
-
-
- !
- ! Set any key which has data in the udef$ string associated with it.
- !
- for j = 1 to 48
- print start_it;keys$(j);"/";asc.hex(udef$(j));st; unless udef$(j)==""
- next j
-
- !
- ! Lock the keys against further re-definition and give sign-off
- !
- print dcs+"1|"+st;
- print "VT220 user defined keys have been reset and locked"
-
- end
- 20 !
- Function String Asc.hex (string a)
- Declare String ax,cx
- Declare Long sys_status,c,j,ml
- Declare Long Constant wid=2
- External Long Function Ots$cvt_l_tz (long,string,long by value,long by value)
- asc.hex=""
- ml=len(a)
- Functionexit if ml <= 0
- ax=""
- For j = 1 to ml
- cx=" "
- c=Ascii(seg$(a,j,j))
- sys_status=Ots$cvt_l_tz(c,cx,wid,wid)
- ax = ax+cx
- Next j
- asc.hex = ax
- Functionend
-
-
- Appendix B - Kermit Scan Codes for the DEC Rainbow pg B-1
-
- .... Normal Scan codes .... ... Special Scan codes ...
- Key- Shift Key- Shift
- Keyboard Key code Shift Ctrl +Ctrl code Shift Ctrl +Ctrl
- ------------ ---- ----- ---- ----- ---- ----- ---- -----
- Return 13 525 1037 1549 4109 4621 5133 5645
- Tab 9 521 1033 1545 4105 4617 5129 5641
- Space 32 544 1024 1536 4128 4640 5120 5632
- Delete <X] 127 639 1151 1663 4223 4735 5247 5759
- A 97 577 1025 1537 4193 4673 5121 5633
- B 98 578 1026 1538 4194 4674 5122 5634
- C 99 579 1027 1539 4195 4675 5123 5635
- D 100 580 1028 1540 4196 4676 5124 5636
- E 101 581 1029 1541 4197 4677 5125 5637
- F 102 582 1030 1542 4198 4678 5126 5638
- G 103 583 1031 1543 4199 4679 5127 5639
- H 104 584 1032 1544 4200 4680 5128 5640
- I 105 585 1033 1545 4201 4681 5129 5641
- J 106 586 1034 1546 4202 4682 5130 5642
- K 107 587 1035 1547 4203 4683 5131 5643
- L 108 588 1036 1548 4204 4684 5132 5644
- M 109 589 1037 1549 4205 4685 5133 5645
- N 110 590 1038 1550 4206 4686 5134 5646
- O 111 591 1039 1551 4207 4687 5135 5647
- P 112 592 1040 1552 4208 4688 5136 5648
- Q 113 593 1041 1553 4209 4689 5137 5649
- R 114 594 1042 1554 4210 4690 5138 5650
- S 115 595 1043 1555 4211 4691 5139 5651
- T 116 596 1044 1556 4212 4692 5140 5652
- U 117 597 1045 1557 4213 4693 5141 5653
- V 118 598 1046 1558 4214 4694 5142 5654
- W 119 599 1047 1559 4215 4695 5143 5655
- X 120 600 1048 1560 4216 4696 5144 5656
- Y 121 601 1049 1561 4217 4697 5145 5657
- Z 122 602 1050 1562 4218 4698 5146 5658
- ~ or ` 96 638 1054 1566 4192 4734 5150 5662
- ! or 1 49 545 4145 4641
- @ or 2 50 576 1024 1536 4146 4672 5120 5632
- # or 3 51 547 1051 1563 4147 4643 5147 5659
- $ or 4 52 548 1052 1564 4148 4644 5148 5660
- % or 5 53 549 1053 1565 4149 4645 5149 5661
- ^ or 6 54 606 1054 1566 4150 4702 5150 5662
- & or 7 55 550 1055 1567 4151 4646 5151 5663
- * or 8 56 554 1151 1663 4152 4650 5247 5759
- ( or 9 57 552 4153 4648
- ) or 0 58 553 4154 4649
- _ or - 45 607 4141 4703
- + or = 61 555 4157 4651
- { or [ 91 635 1051 1563 4187 4731 5147 5659
- } or ] 93 637 1053 1565 4189 4733 5149 5661
- : or ; 59 570 4155 4666
- " or ' 39 546 4135 4642
- | or \ 92 636 1052 1564 4188 4732 5148 5660
- > or < 60 574 4156 4670
- , or , 44 556 4140 4652
- . or . 46 558 4142 4654
- ? or / 47 575 1055 1567 4143 4671 5151 5663
-
- Appendix B - Kermit Scan Codes for the DEC Rainbow pg B-2
-
- ..Normal Scan codes.. ..Special Scan codes..
- Key- Shift Key- Shift
- Keyboard Key Base code Shift Ctrl +Ctrl code Shift Ctrl +Ctrl
- -------------- ---- ---- ----- ---- ----- ---- ----- ---- -----
- Print Screen 3 259 771 1283 1795 4355 4867 5379 5891
- F4 5 261 773 1285 1797 4357 4869 5381 5893
- F5 (Break) 101 357 869 1381 1893 4453 4965 5477 5989
- F6 (Interrupt) 7 263 775 1287 1799 4359 4871 5383 5895
- F7 (Resume) 9 265 777 1289 1801 4361 4873 5385 5897
- F8 (Cancel) 11 267 779 1291 1803 4363 4875 5387 5899
- F9 (Main Screen) 13 269 781 1293 1805 4365 4877 5389 5901
- F10 (Exit) 15 271 783 1295 1807 4367 4879 5391 5903
- F11 (ESC) VT100 27 27 539 1051 1563 4123 4635 5147 5659
- F12 (BS) VT100 8 8 520 1032 1544 4104 4616 5128 5640
- F13 (LF) VT100 10 10 522 1034 1546 4106 4618 5130 5642
- F14 (Addtnl Options) 17 273 785 1297 1809 4369 4881 5393 5905
- F15 (Help) 0 256 768 1280 1792 4352 4864 5376 5888
- F16 (Do) 1 257 769 1281 1793 4353 4865 5377 5889
- F17 19 275 787 1299 1811 4371 4883 5395 5907
- F18 21 277 789 1301 1813 4373 4885 5397 5909
- F19 23 279 791 1303 1815 4375 4887 5399 5911
- F20 25 281 793 1305 1817 4377 4889 5401 5913
- Find 27 283 795 1307 1819 4379 4891 5403 5915
- Insert Here 29 285 797 1309 1821 4381 4893 5405 5917
- Remove 31 287 799 1311 1823 4383 4895 5407 5919
- Select 33 289 801 1313 1825 4385 4897 5409 5921
- Prev Screen 35 291 803 1315 1827 4387 4899 5411 5923
- Next Screen 37 293 805 1317 1829 4389 4901 5413 5925
- Up-Arrow 39 295 807 1319 1831 4391 4903 5415 5927
- Down-Arrow 41 297 809 1321 1833 4393 4905 5417 5929
- Right-Arrow 43 299 811 1323 1835 4395 4907 5419 5931
- Left-Arrow 45 301 813 1325 1837 4397 4909 5421 5933
- Keypad 0 47 303 815 1327 1839 4399 4911 5423 5935
- Keypad 1 50 306 818 1330 1842 4402 4914 5426 5938
- Keypad 2 53 309 821 1333 1845 4405 4917 5429 5941
- Keypad 3 56 312 824 1336 1848 4408 4920 5432 5944
- Keypad 4 59 315 827 1339 1851 4411 4923 5435 5947
- Keypad 5 62 318 830 1342 1854 4414 4926 5438 5950
- Keypad 6 65 321 833 1345 1857 4417 4929 5441 5953
- Keypad 7 68 324 836 1348 1860 4420 4932 5444 5956
- Keypad 8 71 327 839 1351 1863 4423 4935 5447 5959
- Keypad 9 74 330 842 1354 1866 4426 4938 5450 5962
- Keypad Dash 77 333 845 1357 1869 4429 4941 5453 5965
- Keypad Comma 80 336 848 1360 1872 4432 4944 5456 5968
- Keypad Period 83 339 851 1363 1875 4435 4947 5459 5971
- Keypad Enter 86 342 854 1366 1878 4438 4950 5462 5974
- Keypad PF1 89 345 857 1369 1881 4441 4953 5465 5977
- Keypad PF2 92 348 860 1372 1884 4444 4956 5468 5980
- Keypad PF3 95 351 863 1375 1887 4447 4959 5471 5983
- Keypad PF4 98 354 866 1378 1890 4450 4962 5474 5986
-
- F11 (ESC) VT200 104 360 872 1384 1896 4456 4968 5480 5992
- F12 (BS) VT200 107 363 875 1387 1899 4459 4971 5483 5995
- F13 (LF) VT200 110 366 878 1390 1902 4462 4974 5486 5998
-
-
- Appendix C - Numerical list of Kermit Special Function Codes Page C-1
-
- Octal
- Code Special Function Routine Description
- ----- ------------------------------------
-
- \000 Print Screen
- \001 Dump Screen to Disk
- \002 View Prev Screen (Scroll)
- \003 View Next Screen (Scroll)
- \004 View Prev Line (Scroll)
- \005 View Next Line (Scroll)
- \006 View Screen Bottom
- \007 Send Break
- \010 Send Break (long)
- \011 Print Current Line
- \012 Toggle Print Recv Char
- \013 Turn on Print Recv Char
- \014 Turn off Print Recv Char
- \015 Toggle Media Copy
- \016 Turn on Media Copy
- \017 Turn off Media Copy
- \020 Toggle Eight-bit Mode
- \021 Turn on Eight-bit Mode
- \022 Turn off Eight-bit Mode
- \023 Toggle Auto-print
- \024 Turn on Auto-print
- \025 Turn off Auto-print
- \026 Toggle Save Screen (80/132)
- \027 Turn on Save Screen (80/132)
- \030 Turn off Save Screen (80/132)
- \031 Toggle Monitor Mode (debug)
- \032 Turn on Monitor Mode (debug)
- \033 Turn off Monitor Mode (debug)
- \034 Toggle Screen Size (80/132)
- \035 Set Screen to 80 cols
- \036 Set Screen to 132 cols
- \037 Toggle Smooth Scroll
- \040 Turn on Smooth Scroll
- \041 Turn off Smooth Scroll
- \042 Toggle Screen Background
- \043 Screen Background Light
- \044 Screen Background Dark
- \045 Toggle Auto-repeat keys
- \046 Turn on Auto-repeat keys
- \047 Turn off Auto-repeat keys
- \050 Toggle US/UK Char Set
- \051 Set US as Char Set
- \052 Set UK as Char Set
- \053 Toggle Auto-wrap
- \054 Turn on Auto-wrap
- \055 Turn off Auto-wrap
- \056 Toggle New-line Mode
- \057 Turn on New-line Mode
- \060 Turn off New-line Mode
- \061 Connect mode Help (menu)
- \062 Kermit Close (Prompt)
- \063 Kermit Command Menu
- \064 Kermit Push to DOS
- \065 Kermit Quit Logging
- \066 Kermit Resume Logging
- \067 Kermit Exit to MS-DOS
- \070 Define Hot Key - Spl Function
- \071 Define Hot Key - Ascii String
- \072 Show all Key Definitions
- \073 Show Special Status
- \074 Kermit Status
- \075 Hold-Screen (soft) Xon/Xoff
- \076 Toggle the UDK Lock
- \077 Turn on (Lock) the UDK's
- \100 Turn off (Unlock) the UDK's
- \101 Toggle Line Monitor Mode
- \102 Turn on Line Monitor Mode
- \103 Turn off Line Monitor Mode
- \104 Show Diagnostics & Internals
- \105 Toggle Special Functions
- \106 Special Functions Disabled
- \107 Special Functions Enabled
- \110 Toggle Function Key Mode
- \111 Set Function Keys to VT220
- \112 Set Function Keys to VT100
- \113 Dump Screen + Memory to Disk
- \114 Print Screen + Memory
- \115 Toggle Loop-Back Mode
- \116 Turn on Loop-Back Mode
- \117 Turn off Loop-Back Mode
- \120 Transmit File (Kermit.xmt)
- \121 Set File Name for Raw Transmit
- \122 Toggle Cursor Style (Und/Blk)
- \123 Set Cursor Style to Block
- \124 Set Cursor Style to Underline
-
- Appendix D - Kermit Pre-assigned (Hard-coded) Functions Page D-1
-
-
- BY KEY:
-
- Octal
- Key Name Code Special Function Description
- ---------- ---- ----------------------------
-
- Print Screen \000 Print Screen
- Ctrl / Print Screen \012 Toggle Print Recv Char
-
- Shift / F4 \064 Kermit Push to DOS
- Ctrl / F4 \062 Kermit Close (Prompt)
- Shift / Ctrl / F4 \067 Kermit Exit to MS-DOS
-
- F5-Break \007 Send Break
- Ctrl / F5-Break \010 Send Break (long)
-
- Shift / F15-Help \061 Connect mode Help (menu)
- Ctrl / F15-Help \063 Kermit Command Menu
- Shift / Ctrl / F15-Help \031 Toggle Monitor Mode (debug)
-
- Shift / F16-Do \001 Dump Screen to Disk
- Ctrl / F16-Do \001 Dump Screen to Disk
-
- Prev Screen \002 View Prev Screen (Scroll)
- Ctrl / Prev Screen \004 View Prev Line (Scroll)
-
- Next Screen \003 View Next Screen (Scroll)
- Shift / Next Screen \006 View Screen Bottom
- Ctrl / Next Screen \005 View Next Line (Scroll)
-
- Shift / Up-Arrow \004 View Prev Line (Scroll)
- Ctrl / Up-Arrow \002 View Prev Screen (Scroll)
-
- Shift / Down-Arrow \005 View Next Line (Scroll)
- Ctrl / Down-Arrow \003 View Next Screen (Scroll)
-
- Shift / Right-Arrow \006 View Screen Bottom
-
- Shift / Keypad Enter \000 Print Screen
- Ctrl / Keypad Enter \012 Toggle Print Recv Char
-
- Appendix D - Kermit Pre-assigned (Hard-coded) Functions Page D-2
-
-
- BY FUNCTION:
-
- Octal
- Key Name Code Special Function Description
- ---------- ---- ----------------------------
-
- Prev Screen \002 View Prev Screen (Scroll)
- Ctrl / Up-Arrow \002 View Prev Screen (Scroll)
-
- Next Screen \003 View Next Screen (Scroll)
- Ctrl / Down-Arrow \003 View Next Screen (Scroll)
-
- Ctrl / Prev Screen \004 View Prev Line (Scroll)
- Shift / Up-Arrow \004 View Prev Line (Scroll)
-
- Ctrl / Next Screen \005 View Next Line (Scroll)
- Shift / Down-Arrow \005 View Next Line (Scroll)
-
- Shift / Next Screen \006 View Screen Bottom
- Shift / Right-Arrow \006 View Screen Bottom
-
- Print Screen \000 Print Screen
- Shift / Keypad Enter \000 Print Screen
-
- Ctrl / Print Screen \012 Toggle Print Recv Char
- Ctrl / Keypad Enter \012 Toggle Print Recv Char
-
- Shift / F16-Do \001 Dump Screen to Disk
- Ctrl / F16-Do \001 Dump Screen to Disk
-
- F5-Break \007 Send Break
- Ctrl / F5-Break \010 Send Break (long)
-
- Shift / F4 \064 Kermit Push to DOS
- Ctrl / F4 \062 Kermit Close (Prompt)
- Shift / Ctrl / F4 \067 Kermit Exit to MS-DOS
- Ctrl / F15-Help \063 Kermit Command Menu
-
- Shift / F15-Help \061 Connect mode Help (menu)
-
- Shift / Ctrl / F15-Help \031 Toggle Monitor Mode (debug)
-